import Vue from 'vue'
import App from './App.vue'

//引入路由和vuex
import VueRouter from 'vue-router'
import router from './router'
import JsonExcel from 'vue-json-excel'
import store from './store'

Vue.component('downloadExcel', JsonExcel)
// 引入elementUI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

import axios from 'axios'//引入axios
Vue.prototype.$http = axios


const routerPush = VueRouter.prototype.push;

VueRouter.prototype.push = function (location) {
  return routerPush.call(this, location).catch(err => { })
};


Vue.use(ElementUI);
Vue.use(VueRouter);

Vue.config.productionTip = false





router.beforeEach((to, from, next) => {

  //获取用户登录成功后储存的登录标志
  let getFlag = localStorage.getItem("Flag");

  //如果登录标志存在且为isLogin，即用户已登录
  if (getFlag === "isLogin") {

    //设置vuex登录状态为已登录
    store.state.isLogin = true
    next()

    //如果已登录，还想想进入登录注册界面，则定向回首页
    if (!to.meta.isLogin) {
      //iViewUi友好提示
      next({
        path: '/home'
      })
    }

    //如果登录标志不存在，即未登录
  } else {

    //用户想进入需要登录的页面，则定向回登录界面
    if (to.meta.isLogin) {
      next({
        path: '/login',
      })
      //iViewUi友好提示
      alert('请先登录')
      //用户进入无需登录的界面，则跳转继续
    } else {
      next()
    }

  }

});

router.afterEach(route => {
  window.scroll(0, 0);
});







new Vue({
  render: h => h(App),
  router,
  store
}).$mount('#app')
